Module তৈরি এবং ব্যবহার

Modules এবং Interfaces (মডিউল এবং ইন্টারফেস) - ফোরট্রান (Fortran) - Computer Programming

286

ফোরট্রানে Module তৈরি এবং ব্যবহার

ফোরট্রান 90 সংস্করণ থেকে Module সংজ্ঞায়িত করা শুরু হয়, যা কোডের পুনঃব্যবহারযোগ্যতা, মডুলারিটি এবং কোডের রক্ষণাবেক্ষণ সহজ করে তোলে। Module ব্যবহার করে আপনি ফাংশন, সাবরুটিন, এবং ডেটা (যেমন, ভ্যারিয়েবল বা অ্যারে) সংজ্ঞায়িত করতে পারেন এবং সেগুলি অন্য প্রোগ্রামে পুনরায় ব্যবহার করতে পারেন।

এখানে ফোরট্রানে Module তৈরি এবং ব্যবহার করার ধাপগুলো আলোচনা করা হলো।


১. Module তৈরি করা

ফোরট্রানে একটি Module তৈরি করতে module কিওয়ার্ড ব্যবহার করা হয়। মডিউলের মধ্যে আপনি ফাংশন, সাবরুটিন এবং ডেটা (যেমন ভ্যারিয়েবল, কনস্ট্যান্ট) সংজ্ঞায়িত করতে পারেন, এবং এই মডিউলগুলো অন্য প্রোগ্রামে use কিওয়ার্ডের মাধ্যমে অন্তর্ভুক্ত করা হয়।

Module তৈরি করার সাধারণ গঠন:

module module_name
  ! মডিউলের ভ্যারিয়েবল এবং ফাংশন/সাবরুটিন ডিক্লারেশন
contains
  ! ফাংশন বা সাবরুটিন ডিক্লারেশন
end module module_name
  • module_name: মডিউলের নাম।
  • contains: এই শব্দটি মডিউলের ফাংশন এবং সাবরুটিনগুলির ডিক্লারেশন সূচিত করে।

মডিউল তৈরি করার উদাহরণ:

module math_operations
  implicit none
contains
  ! একটি ফাংশন যা দুটি সংখ্যা যোগ করবে
  function add_numbers(x, y)
    real :: add_numbers
    real, intent(in) :: x, y

    add_numbers = x + y
  end function add_numbers

  ! একটি সাবরুটিন যা দুটি সংখ্যা গুন করবে
  subroutine multiply_numbers(x, y, result)
    real, intent(in) :: x, y
    real, intent(out) :: result

    result = x * y
  end subroutine multiply_numbers

end module math_operations

এখানে:

  • math_operations নামের একটি মডিউল তৈরি করা হয়েছে।
  • মডিউলের মধ্যে একটি ফাংশন (add_numbers) এবং একটি সাবরুটিন (multiply_numbers) ডিক্লেয়ার করা হয়েছে।

২. Module ব্যবহার করা

ফোরট্রানে মডিউল ব্যবহার করতে হলে use কিওয়ার্ড ব্যবহার করতে হয়। আপনি যেকোনো প্রোগ্রামে মডিউল ব্যবহার করতে পারেন এবং সেই মডিউলের ফাংশন বা সাবরুটিন কল করতে পারেন।

Module ব্যবহার করার উদাহরণ:

program module_usage
  use math_operations  ! math_operations মডিউল ব্যবহার করা হচ্ছে
  implicit none
  real :: a, b, sum, product

  ! মান নির্ধারণ
  a = 5.0
  b = 10.0

  ! ফাংশন কল
  sum = add_numbers(a, b)

  ! সাবরুটিন কল
  call multiply_numbers(a, b, product)

  ! আউটপুট
  print *, 'Sum of ', a, ' and ', b, ' is: ', sum
  print *, 'Product of ', a, ' and ', b, ' is: ', product

end program module_usage

এখানে:

  • use math_operations দিয়ে math_operations মডিউলটি ব্যবহার করা হয়েছে।
  • add_numbers(a, b) ফাংশনটি ব্যবহার করে দুটি সংখ্যার যোগফল বের করা হয়েছে।
  • call multiply_numbers(a, b, product) সাবরুটিনটি ব্যবহার করে দুটি সংখ্যার গুণফল বের করা হয়েছে।

আউটপুট:

Sum of  5.0  and  10.0  is:  15.0
Product of  5.0  and  10.0  is:  50.0

৩. Module এর সুবিধা

  1. কোডের পুনঃব্যবহারযোগ্যতা: একবার মডিউল তৈরি করার পরে, এটি বিভিন্ন প্রোগ্রামে ব্যবহার করা যায়, যার ফলে কোড পুনরায় লেখা এড়ানো যায়।
  2. মডুলারিটি: মডিউল ব্যবহার করে কোডটি অনেক বেশি মডুলার এবং রক্ষণাবেক্ষণযোগ্য হয়ে ওঠে।
  3. নিরাপত্তা এবং সংরক্ষণ: মডিউলের মাধ্যমে আপনি নির্দিষ্ট ফাংশন বা সাবরুটিনগুলি প্রোগ্রামের অন্যান্য অংশ থেকে বিচ্ছিন্নভাবে ব্যবহার করতে পারেন, যা নিরাপদ কোড উন্নয়নে সহায়ক।
  4. নাম সংঘর্ষ এড়ানো: মডিউলগুলি তাদের নিজস্ব scope (সীমার মধ্যে) কাজ করে, তাই একই নামের ভ্যারিয়েবল বা ফাংশন অন্য কোথাও ব্যবহার করা হলেও কোনো সমস্যা হয় না।

৪. Module পুনঃব্যবহার এবং অ্যাক্সেস কন্ট্রোল

ফোরট্রানে আপনি মডিউলের উপাদানগুলির অ্যাক্সেস কন্ট্রোল করতে public এবং private কিওয়ার্ড ব্যবহার করতে পারেন।

  • public: মডিউলের যেকোনো অংশকে পাবলিক করে দেয়, অর্থাৎ এটি ব্যবহারকারী প্রোগ্রামে অ্যাক্সেস করা যাবে।
  • private: মডিউলের অংশগুলোকে প্রাইভেট করে দেয়, অর্থাৎ এটি বাইরে অ্যাক্সেসযোগ্য হবে না।

উদাহরণ:

module math_operations
  implicit none
  private  ! সমস্ত উপাদান প্রাইভেট, এক্সপোজ করতে হলে পাবলিক করতে হবে

  public :: add_numbers  ! শুধুমাত্র এই ফাংশনটি পাবলিক

contains
  function add_numbers(x, y)
    real :: add_numbers
    real, intent(in) :: x, y
    add_numbers = x + y
  end function add_numbers

  private
  subroutine multiply_numbers(x, y, result)
    real, intent(in) :: x, y
    real, intent(out) :: result
    result = x * y
  end subroutine multiply_numbers

end module math_operations

এখানে:

  • add_numbers ফাংশনটি public এবং multiply_numbers সাবরুটিনটি private, ফলে শুধুমাত্র add_numbers ফাংশনটি বাইরের প্রোগ্রামে অ্যাক্সেসযোগ্য হবে।

উপসংহার

ফোরট্রানে Module কোডের পুনঃব্যবহারযোগ্যতা এবং মডুলারিটি নিশ্চিত করে। মডিউলের মাধ্যমে আপনি ফাংশন, সাবরুটিন, এবং ডেটার একটি কোড ব্লক তৈরি করতে পারেন, যা বিভিন্ন প্রোগ্রামে পুনরায় ব্যবহার করা যায়। এর মাধ্যমে আপনি কোড রক্ষণাবেক্ষণ সহজ করতে পারেন এবং একাধিক কাজকে একত্রিত করে কার্যকরী এবং পরিস্কার কোড তৈরি করতে সক্ষম হন।

Content added By
Promotion

Are you sure to start over?

Loading...